home *** CD-ROM | disk | FTP | other *** search
/ s-gikan2.maizuru-ct.ac.jp / s-gikan2.maizuru-ct.ac.jp.zip / s-gikan2.maizuru-ct.ac.jp / pub / ncvc352_install.exe / {app} / scripts / LatheViewCompleteSet / UW_to_XZ.pl < prev    next >
Perl Script  |  2004-11-03  |  2KB  |  70 lines

  1. #! /usr/bin/perl
  2.  
  3. #  æ¥ò¬Ælét,évé≡ÉΓæ╬ÆléwüCéyé╔ò╧è╖é╖éΘâXâNâèâvâg  #
  4.  
  5.  
  6.  
  7. %UW= ("U","X","W","Z");
  8. %XZ= ("X",0,"Z",1);
  9. $pre_file= $ARGV[0];
  10. $out_file= $ARGV[1];
  11.  
  12. open(IN,$pre_file);
  13. open(OUT,">$out_file");
  14. while(<IN>){
  15.      if($_ !~ /^N?[0-9\s]*[\(\%]/){
  16.  if( $_ !~ /G28|G0??4\D/){
  17.         if(/[XZUW]/){
  18.                    $new_line= "";
  19.             if(/[UW]/){
  20.               while($_ =~ /([UW])([0-9\-\.]+)/){
  21.                         $kiso[$XZ{$UW{$1}}]= $kiso[$XZ{$UW{$1}}]+$2 ;
  22.                         $kiso[$XZ{$UW{$1}}]=$kiso[$XZ{$UW{$1}}]*1000;
  23.                           $kiso[$XZ{$UW{$1}}]=int($kiso[$XZ{$UW{$1}}]);
  24.                          $kiso[$XZ{$UW{$1}}]=$kiso[$XZ{$UW{$1}}]/1000;
  25.  
  26.    
  27.                            $new_line= $new_line.$`.$UW{$1}.$kiso[$XZ{$UW{$1}}];
  28.                         $_=$';
  29.   
  30.                } 
  31.                                 
  32.  
  33.               }
  34.                             $_= $new_line.$_;
  35.              if(/[XZ]/){
  36.                                             $new_line= "";
  37.                   while($_ =~ /([XZ])([0-9\-\.]+)/){
  38.                           $kiso[$XZ{$1}]=$2;
  39.                        $kiso[$XZ{$1}]=$kiso[$XZ{$1}]*1000;
  40.                         $kiso[$XZ{$1}]=int($kiso[$XZ{$1}]);
  41.                         $kiso[$XZ{$1}]=$kiso[$XZ{$1}]/1000;
  42.  
  43.                           $new_line= $new_line.$`.$1.$kiso[$XZ{$1}] ;
  44.                                         $_=$';
  45.  
  46.                 }
  47.   
  48.                                 }
  49.                                  
  50.         
  51. $_= $new_line.$_;
  52.  
  53.          }
  54.  
  55.    } 
  56. }
  57.     if(!/^N?[0-9\s]*[\(\%]/){
  58.         $new_line= "";
  59.         while(/([XZIKRCUVWF])([\-\d\.]+)/){
  60.             ($pre_line,$char,$num,$_)= ($`,$1,$2,$');
  61.  
  62.             if($num !~ /\./ and $num != 0){ $num= $num."\."; }
  63.             $new_line= $new_line.$pre_line.$char.$num;
  64.         }
  65.         $_= $new_line.$_;
  66.     }
  67.     print OUT;}
  68. close(OUT);
  69. close(IN);
  70.